package com.dingwen.minsta.config;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * minio 配置类
 *
 * @author dingwen
 * 2021.05.25 17:05
 */
@Getter
@Setter
@ConfigurationProperties(prefix = "dingwen.minio")
public class DingwenMinioStarterProperties {
    /**
     * 一天的毫秒数
     */
    private static final Long DAY_MILLISECOND = 1000L * 60 * 60 * 24;

    /**
     * 临时缓存目录
     */
    private static final String TEMP_DIR = "." + File.separator + "temp" + File.separator;

    /**
     * 访问minio服务URL
     */
    private String endPoint;
    /**
     * 存储桶
     */
    private String bucket;

    /**
     * 访问密钥
     */
    private String accessKey;

    /**
     * 秘密密钥
     */
    private String secretKey;

    /**
     * 临时dir
     */
    private String tempDir = TEMP_DIR;


    /**
     * 是否进行缓存清理
     */
    private boolean tempCleanFlag = true;


    /**
     * 第一次临时清理时间
     */
    private Date tempCleanFirstTime;


    /**
     * 临时清洁周期(延时时间)
     */
    private Long tempCleanPeriod;

    /**
     * 临时清洁时间（间隔时间）
     */
    private Long tempCleanDuration;

    public void setTempCleanFirstTime(String tempCleanFirstTime) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        try {
            this.tempCleanFirstTime = format.parse(tempCleanFirstTime);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}
